Service Bus 提供了另一種訊息服務傳遞的方式。之前專案會使用到這個服務主要是為了避免後端功能在執行時遺漏資訊,或是當訊息量過大時來不及處理,有了Service Bus後可以先有一個地方可以先暫時儲存訊息,讓後端能夠在非同步的狀況下,將訊息完整的處理完成,避免資訊遺漏的問題。當然Service Bus的功能也不只有這樣,下面將進行更加詳細的說明。
微軟官方說明文件提到:
Microsoft Azure 服務匯流排是完全受控的企業整合訊息代理程式。 服務匯流排可以將應用程式與服務分離。 服務匯流排針對非同步資料和狀態傳輸提供了可靠且安全的平台。
資料會使用「訊息」 在不同的應用程式和服務之間傳輸。 訊息採用二進位格式,且可包含 JSON、XML 或純文字。
一些常見的傳訊案例如下:
在ServiceBus中,也有Namespace的設定,每個Namespace中可以有好幾個Queues或Topics。Queues 與 Topics差異說明如下:
Queues中文翻譯為佇列
,一個queue代表一個傳遞管道,當有訊息傳送到此queue時,就只會有一個接收者會收到訊息。
Topics中文翻譯為主題
,一個Topic裡面可以設定好幾個subscriptions,每個subscription都會有一個接收者,也就是說我只要發送一個訊息到這個topic,topic中的所有subscriptions都會收到同樣的訊息。
建立Service Bus服務可透過入口網站、Azure PowerShell及Azure CLI,本篇文章主要說明使用入口網站建立的流程。建立時需選擇resource group,並設定namespace名稱、選擇地區與方案後,按下Review + create,再按一次Create便會開始建立Service Bus。
Service Bus 定價及功能說明如下,值得注意的是,Basic並未包含Topic功能,若有需要使用topic功能,需要選擇Standard或Premium的定價才行喔。
因為我在建立的時候選擇的是basic,想要換定價的話不必刪除重建,只要在建立完成後進入Service Bus畫面中的Pricing tier
,就可以修改定價方案囉。
進入Service Bus 畫面後,左上角有按鈕讓你快速建立Queue及Topic,按下左邊的Queue,在視窗右側會跳出建立新queue的頁面。
可以依喜好設定名稱、最大訊息容量、最大傳遞計數、訊息存在時間及鎖定訊息時間。
建立完成後,在側邊欄中可以找到Queues的按鈕,按一下便可以檢視現在已建立的queues列表
同樣在畫面的左上方按一下Topic,視窗右側便會跳出建立topic的頁面。
可依喜好設定名稱、訊息大小上限、訊息存在時間等項目。
建立完成後,在側邊欄中可以找到Topics的按鈕,按一下便可以檢視現在已建立的topics列表
今天文章中說明了Service Bus及Queue、Topic的特性,並且建立了Queue及Topic服務。明天將繼續介紹利用python傳送與接收Queue、Topic兩個服務的方法。
★ Amos3.0 團隊系列文 ★
以下為團隊所有成員的主題,也歡迎大家前往欣賞喔!